线性代数笔记: Cholesky分解

您所在的位置:网站首页 numpy 对称矩阵 线性代数笔记: Cholesky分解

线性代数笔记: Cholesky分解

2023-11-27 22:06| 来源: 网络整理| 查看: 265

1 介绍

        当一个实矩阵A是对称正定矩阵的时候,它可以分解成一个下三角矩阵L以及它的转置L^T的乘积,即:

  1.1 矩阵半正定的情况

        如果矩阵是正定的话,那么L唯一确定;如果矩阵是半正定的话,那么也可以分解,不过此时L不唯一。

 2 举例

3 使用  scipy.linalg.cholesky求解 3.1 用法 scipy.linalg.cholesky( a, lower=False, overwrite_a=False, check_finite=True)

 返回值:c:(M,M)ndarray,表示a的上三角或下三角Cholesky因子。

 3.2 参数介绍 a

(M, M) array_like

待分解的矩阵

lower

bool, 可选参数

是计算上三角Cholesky还是下三角Cholesky分解。默认值为upper-triangular

overwrite_a

bool, 可选参数

是否覆盖a中的数据(可能会提高性能)

check_finite

bool, 可选参数

是否检查输入矩阵仅包含有限数。禁用可能会提高性能,但是如果输入中确实包含无穷大或NaN,则会导致问题(崩溃,终止)。

3.3 用法举例  import numpy as np from scipy import linalg a = np.array([[4, 12, -16], [12, 37, -43], [-16, -43, 98]]) L_lower = linalg.cholesky(a, lower=True) # 默认计算 upper, 所以指定 lower = True L_upper = linalg.cholesky(a) print(L_lower,'\n',L_upper) ''' [[ 2. 0. 0.] [ 6. 1. 0.] [-8. 5. 3.]] [[ 2. 6. -8.] [ 0. 1. 5.] [ 0. 0. 3.]] ''' print(L_lower @ L_upper) ''' [[ 4. 12. -16.] [ 12. 37. -43.] [-16. -43. 98.]] ''' 4 平方根法求L

我们假设矩阵A可以分解成

LL^T的结果为:

\begin{bmatrix} l_{11}l_{11} & l_{11}l_{21}& l_{11}l_{31}& \dots& l_{11}l_{n1}\\ l_{21}l_{11} & l_{21}l_{21}+ l_{22}l_{22}& l_{21}l_{31}+ l_{22}l_{32}&\dots & l_{21}l_{n1}+ l_{22}l_{n2}\\ l_{31}l_{11} & l_{31}l_{21}+ l_{32}l_{22}& l_{31}l_{31}+ l_{32}l_{32}+ l_{33}l_{33}& \dots& l_{31}l_{n1}+ l_{32}l_{n2}+ l_{33}l_{n3}\\ \vdots & \vdots & \vdots & \ddots & \vdots \\ l_{n1}l_{11} & l_{n1}l_{21}+ l_{n2}l_{22}& l_{n1}l_{31}+ l_{n2}l_{32}+ l_{n3}l_{33} & \dots & l_{n1}l_{n1}+ l_{n2}l_{n2}+ l_{n3}l_{n3}+\dots+ l_{nn}l_{nn} \end{bmatrix}

首先我们看第一个元素:然后我们看第一列的其他元素:         之后,我们假设已经算出了L矩阵的前k-1列元素 通过 a_{kk}=\sum_{i=1}^k l_{ki}^2=\sum_{i=1}^{k-1} l_{ki}^2+l_{kk}^2 ,可以得到:进一步再由,可以得到: 于是我们可以通过以上方式迭代求得L  5 在计算机编程中 Cholesky分解的作用

         在计算机程序中常常用到这种方法解线性代数方程组。它的优点是存储量很省。用矩阵A一半的存储空间,就可以表达A的全部信息        

参考资料

数学之美:cholesky矩阵分解_BigCowPeking-CSDN博客_cholesky分解

Cholesky分解 - 知乎 (zhihu.com)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3